/*
 * deque_filo.h
 *
 *  Created on: 26.07.2009
 *      Author: dmitryzinyakov
 */

#ifndef DEQUE_FILO_H_
#define DEQUE_FILO_H_

#include "system.h"

namespace system
{
template<class T>
class deque_filo
{
public:
	deque_filo();
	~deque_filo();

	void push(T val);
	T pop();

	size_t size() const;
	void reset();

private:
	mutex mutex_;
	std::deque<T> storage_;
};
}

#include "deque_filo.hpp"

#endif /* DEQUE_FILO_H_ */
